<template>
  <div>
    <button @click="isShow = !isShow">显示/隐藏</button>

    <transition>
      <div class="box" v-show="isShow">
        <span>* 某个元素必须通过v-show或者v-if来控制</span>
        <hr>
        <span>* 动画元素外层嵌套一个transition组件</span>
      </div>
    </transition>
  </div>
</template>

<script>
export default {
  name: "App",
  data() {
    return {
      isShow:true,
    };
  },
};
</script>

<style scoped>
  .box {
    width: 300px;
    height: 300px;
    background-color: skyblue;
  }
  hr {
    margin-top:75px;
  }
  .box span {
    color: white;
    font-size: 25px;
  }
  /* 控制动画的元素在进入时,和离开之后的样式 */
  .v-enter,
  .v-leave-to {
    opacity: 0;
  }
  /* 控制动画的元素在进入后和离开时的样式 */
  .v-leave,
  .v-enter-to {
    opacity: 1;
  }

  /* 控制动画的元素在进入的过程中和移出的过程中的过渡动画效果 */
  .v-enter-active {
    transition: all 2s linear;
  }

  .v-leave-active {
    transition: all 2s linear;
  }
</style>